<script>
$(document).ready(function(){ 
    $('#ajax_form').ajaxForm({beforeSubmit: before,success: processJson });
})


function before() {
    sgitObject.n_save = noty({type:'information',text: 'Enviando...'});
    
    if(!masbefore()) {
       
        return false;
    }
    
    $('.ui-dialog-buttonpane button').hide()
    $('#dialog').addClass('ui-state-disabled')
    
    return true
}


function masbefore(){
    <?=$this->before?>
    return true;
}

function processJson(data) {
	
   sgitObject.n_save.close();

    //fix para cuando subimos archivos en formulario
    if(!jQuery.isPlainObject(data)){
        
        if(data.substr(0,5)=='<pre>')
        {
            aux = data.replace(/<\/?pre>/g, "");
            
            aux = aux.replace(/&lt;/g, "<");
            aux = aux.replace(/&gt;/g, ">");
    
            
            data = jQuery.parseJSON(aux);
        }
    }
    
    
    
    if(typeof data.noty != 'undefined')
	{
        $.each( data.noty, function(index, v){
          var nota2= noty({type: 'alert',text: v.msg});
        });
    }
    
   
    if(data.status=='reload')
	{
       sgitObject.n_reload = noty({type:'information',text: 'Espere, se esta actualizando la pantalla...'});
	   location.reload();
       return true;
    }
    
    if(data.status=='row')
	{
	   sgitObject.n_actualizando  = noty({type:'information',text: 'Actualizando la información...'});
	   processRow(data);
       sgitObject.n_actualizando.close();
       return true;
    }
        
    if(data.status=='debug')
	{
       return true;
    }
    
    if(data.status=='close')
	{
	   sgitObject.n_actualizado = noty({type:'success',timeout:5000,text: 'La información se actualizo en la base de datos'});
       $("#dialog").dialog('close');
    }
    
    if(data.status=='ok')
	{
	   
	    sgitObject.n_actualizado = noty({type:'success',timeout:5000,text: 'La información se ha actualizado'});
      
		$("#dialog").dialog('close');
		<?php if($this->actionName=='insertar'):?>
			$('#<?=$this->id_tablesorter?> tbody').prepend(data.fila);
    		$('#<?=$this->id_tablesorter?> tbody tr').filter(":first").effect('highlight',3000);
    		
    		$('.utileditar').filter(":first").button({
		            text: false,
		            icons: {
		                primary: "ui-icon-pencil"
		            }
		    });	
		    $('.utildelete').filter(":first").button({
		            text: false,
		            icons: {
		                primary: "ui-icon-trash"
		            }
		    });
		   
    	<?php else:?>
            //sino encuentra el elemento a reemplazar hago reload
            if($('#<?=$this->id_tablesorter?> .tr_<?php echo $this->id;?>').length == 0)
            {
                 var n = noty({type:'information',text: 'Espere, se esta actualizando la pantalla...'});
                location.reload();
                return true;
            }
        
    		$('#<?=$this->id_tablesorter?> .tr_<?php echo $this->id;?>').replaceWith(data.fila);
    		$('#<?=$this->id_tablesorter?> .tr_<?php echo $this->id;?>').effect('highlight',3000);
    		
    		$("#<?=$this->id_tablesorter?> .tr_<?php echo $this->id;?> .utileditar").button({
		            text: false,
		            icons: {
		                primary: "ui-icon-pencil"
		            }
		    });	
		    $("#<?=$this->id_tablesorter?> .tr_<?php echo $this->id;?> .utildelete").button({
		            text: false,
		            icons: {
		                primary: "ui-icon-trash"
		            }
		    });
    		
    	<?php endif?>
    	
    	$("div.botones").buttonset().css('width','50px');
	}
	else
	{
		$('#dialog').html(data)
        
	}
    
    $('.ui-dialog-buttonpane button').show() 
    $('#dialog').removeClass('ui-state-disabled')
}


$(document).ready(function(){ 
    $('.fecha').datepicker();
    <?=$this->onready?>
})


</script>